public class Beszuro{
public static int n=10;
public static int[] a=new int[10];
public static void feltolt(){
int i;
i=0;
while(i<n){
a[i]=(int)(90*Math.random())+1;
i=i+1;
}
}
public static void kiir(){
int i;
i=0;
while (i<n){
System.out.println(a[i]);
i=i+1;
}
}
public static void cserel(int i,int j){
int x;
x=a[j];
a[j]=a[i];
a[i]=x;
}
public static void rendez(){
Tömb elemeinek rendezése beszúró rendezéssel, úgy, hogy előlről kezdve végigmegyünk a tömb elemein és megvizsgáljuk, hogy az aktuális elem kisebb e, mint a sorban azt megelező elem. Ha igen, akkor az aktuális elemet megcseréljük a másikkal és újra megvizsgáljuk, hogy az őt megelező elem kisebb e nála. Ez a cserélgetés addig megy, amíg az aktuálisan vizsgált elem meg nem találja a helyét, azaz nincs nála kisebb a listában.
int i,j;
i=1;
A második elemnél kezdjük a vizsgálatot, hiszen annak már van megelőző eleme.
while (i<n){
Minden tömbelemet megvizsgálunk.
j=i;
Beállítjuk a j változóba az aktuálisan vizsgált elem indexét.
while (j>0){
Elértük e már az első tömbelemet a vizsgálódás idején. Ha nem, folytatódik a vizsgálat.
if(a[j]<a[j-1]){
Megvizsgáljuk, hogy az aktuális tömbelem kisebb e az őt megelőzőnél, ha igen, cserélünk. Ha ez a feltétel nem teljesül, akkor az aktuális tömbelem előtt csak kisebb elemek vannak,így nincs szükség további vizsgálatra, ezért megszakítjuk a ciklust.
cserel(j,j-1);
}
else break;
j=j-1;
}
i=i+1;
}
}
public static void main(String[] args){
feltolt();
System.out.println("A szamok rendezes elott");
kiir();
System.out.println(" ");
rendez();
System.out.println("A szamok rendezes utan");
kiir();
}
}